package com.aozhi.aipower.operation.entity;

import cn.org.atool.fluent.mybatis.annotation.FluentMybatis;
import cn.org.atool.fluent.mybatis.annotation.TableField;
import cn.org.atool.fluent.mybatis.annotation.TableId;
import cn.org.atool.fluent.mybatis.base.IEntity;
import cn.org.atool.fluent.mybatis.base.RichEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * BannerEntity: 数据映射实体定义
 *
 * @author Powered By Fluent Mybatis
 */
@Data
@Accessors(
    chain = true
)
@EqualsAndHashCode(
    callSuper = false
)
@FluentMybatis(
    table = "t_banner"
)
public class BannerEntity extends RichEntity {
  private static final long serialVersionUID = 1L;

  /**
   * 表自增主键
   */
  @TableId("id")
  private Integer id;

  /**
   * 创建者
   */
  @TableField("created_by")
  private String createdBy;

  /**
   * 创建时间
   */
  @TableField("created_date")
  private Date createdDate;

  /**
   * 修改者
   */
  @TableField("updated_by")
  private String updatedBy;

  /**
   * 修改时间
   */
  @TableField("updated_date")
  private Date updatedDate;

  /**
   * 类型 1商品、2资讯
   */
  // @TableField(
  //     value = "type",
  //     typeHandler = MybatisEnumTypeHandler.class
  // )
  // private BannerType type;
  private Integer type;
  /**
   * 轮播图名称
   */
  @TableField("name")
  private String name;

  /**
   * 跳转链接
   */
  @TableField("url")
  private String url;

  /**
   * 图片链接
   */
  @TableField("image_url")
  private String imageUrl;

  /**
   * 排序（升序）
   */
  @TableField("sort")
  private Integer sort;

  /**
   * 是否显示 1：true，0：false
   */
  @TableField("display")
  private Boolean display;

  @Override
  public Serializable findPk() {
    return this.id;
  }

  @Override
  public final Class<? extends IEntity> entityClass() {
    return BannerEntity.class;
  }
}
